package com.newsmanagement.service;


import com.newsmanagement.entity.ReturnedMessages;

/**
 * @author xbr
 * 2017/12/4 16:29
 * 新闻分类管理service实现
 */
public interface INewsCategoryService {

    /**
     * （后台）新闻分类列表获取
     * @param jumpPage 跳转页面
     * @param showSize 每页显示的数据条数
     * @return ReturnedMessages
     */
    ReturnedMessages categoryList(Integer jumpPage ,Integer showSize);

    /**
     * （后台）根据新闻分类名称添加新闻分类
     * @param catatoryName 新闻分类名称
     * @return ReturnedMessages
     */
    ReturnedMessages addCategory(String catatoryName);

    /**
     * （后台）根据新闻分类id修改对应的新闻分类信息
     * @param categoryId 新闻分类id
     * @param categoryName 新闻分类名称
     * @return ReturnedMessages
     */
    ReturnedMessages updateCategory(Integer categoryId ,String categoryName);


    /**
     * （后台）根据新闻分类id删除对应的新闻分类（逻辑删除）
     * 同时删除掉分类下的新闻内容
     * @param categoryId 分类id
     * @return ReturnedMessages
     */
    ReturnedMessages deleteCategory(Integer categoryId);

    /**
     * （后台）根据新闻分类id操作分类的移动
     * 注意：排序数字为越小越前，可能和页面显示的列表不同
     * @param categoryId 分类id
     * @param operating 操作编码：0，跳到最后方;1,前移一级；2，后移一级；3，跳到最前方；默认为0
     * @return ReturnedMessages
     */
    ReturnedMessages moveCatatoryOrder(Integer categoryId ,Integer operating);

    /**
     * （前台）根据新闻分类ids设置喜欢和不喜欢的新闻分类
     * ids以英文逗号隔开
     * @param eumId 用户主键
     * @param categoryLikeIds 喜欢的新闻分类id集
     * @param categoryDislikeIds 不喜欢的新闻分类id集
     * @return ReturnedMessages
     */
    ReturnedMessages setCatatory(Integer eumId ,String categoryLikeIds ,String categoryDislikeIds);

    /**
     * （前台）查询新闻分类（过滤个人不感兴趣分类）
     * @param eumId 用户主键
     * @param like 是否喜欢：1，喜欢；0，不喜欢;-1,不喜欢不讨厌
     * @return ReturnedMessages
     */
    ReturnedMessages likeCategoryList(Integer eumId ,Integer like);

}
